iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
0

題目:

https://leetcode.com/problems/same-tree/
判斷2個二元樹是否相同,回傳true或false。

解題思路:

從第一個的左節點與第二個的右節點利用遞迴特性相互比較,再由第一個的右節點與第二個的左節點相互比較,最後回傳結果。

C版本:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
    if (p == NULL && q == NULL) {
        return true;
    } else if (p == NULL && q != NULL) {
        return false;
    } else if (p != NULL && q == NULL) {
        return false;
    } else  {
        if (p->val == q->val){
            bool lTree=isSameTree(p->left,q->left);
            bool rTree=isSameTree(p->right,q->right);
            return (lTree && rTree);
        }
        else{
            return false;
        }
    }
}

Javascript版本:

var isSameTree = function(p, q) {    
    if (p == null && q == null) {
        return true;
    } else if (p == null && q != null) {
        return false;
    } else if (p != null && q == null) {
        return false;
    } else  {
        if (p.val == q.val){
            var lTree=isSameTree(p.left,q.left);
            var rTree=isSameTree(p.right,q.right);
            return (lTree && rTree);
        }
        else{
            return false;
        }
    }
};

程式Github分享:

https://github.com/SIAOYUCHEN/leetcode

相似主題分享:

https://ithelp.ithome.com.tw/users/20100009/ironman/2500
https://ithelp.ithome.com.tw/users/20113393/ironman/2169
https://ithelp.ithome.com.tw/users/20107480/ironman/2435
https://ithelp.ithome.com.tw/users/20107195/ironman/2382
https://ithelp.ithome.com.tw/users/20119871/ironman/2210
https://ithelp.ithome.com.tw/users/20106426/ironman/2136

本日分享:

Cleverness is a gift, and kindness is a choice.
聰明是一種天賦,而善良是一種選擇。


上一篇
DAY17 Binary Tree Inorder Traversal
下一篇
DAY19 Symmetric Tree
系列文
刷題記錄與人生分享34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言